Multi-threading, kan ikke lukke tråden. [C++ / CLI]

Tags:    c++

<< < 12 > >>
Jeg har nogle problemer med at lukke en tråd. Her er koden:
Fold kodeboks ind/udKode 


Så giver compileren følgende fejl:
Fold kodeboks ind/udKode 



Hvis jeg så laver Thread^ oThread osv. i button2 blokken, så laver den en helt ny tråd, og lukker for den, i stedet for at lukke for den første.

Så mit spørgsmål er, hvordan får jeg declaret tråden så at begge knapper kan "læse" den og bruge den?



Indlæg senest redigeret d. 23.11.2009 18:29 af Bruger #14818
oThread skal nok være en member i din class

Spørgsmålet hører nok hjemme under .net, da det ikke er C++



Er det muligt at flytte tråden til .net? Eller skal en Moderator / Administrator gøre det?



Jeg tror ikke man kan flytte en tråd. Det er ikke så vigtigt.

Hjalp det at lave oThread om til at være en member i din class?



Jeg tror jeg misforstår hvad du siger. Når du siger "member i din class" skriver jeg den ind oppe i toppen. under:
Fold kodeboks ind/udKode 

For det synes ikke at virke.

Har også prøvet:
Fold kodeboks ind/udKode 


Det funkede heller ikke.




Det er måske mig der mangler lidt information.

De to funktioner, er de member af en class?
Jeg ville forvente noget i stil med:

Fold kodeboks ind/udKode 


Men jeg ved intet om .net (C++/CLI)



Skal jeg poste hele Source koden?



Her får du den alligevel. Så kan du lige kigge den igennem.
Fold kodeboks ind/udKode 





Du skal vel have dette:
Thread^ oThread;
et sted i din class, måske i nærheden af:
private: System::ComponentModel::IContainer^ components;




Jeg gjorde som du sagde. Og så nede i knappernes kodeblokke skrev jeg blot:
Fold kodeboks ind/udKode 


Men den synes stadig ikke at lukke den rigtige tråd, for selv når jeg lukker programmet, "lukker" det ikke. Hvis det giver nogen mening :-)



Så vidt jeg kan se skal du trykke på ""button2" for at få den til at lukke tråden.

Du kan også kalde Abort i destrucoren, ~Form1()
Du skal lige holde styr på om tråden kører eller ikke.



<< < 12 > >>
t